/*******************************************************************************
 *                                    ZLG
 *                         ----------------------------
 *                         innovating embedded platform
 *
 * Copyright (c) 2001-present Guangzhou ZHIYUAN Electronics Co., Ltd.
 * All rights reserved.
 *
 * Contact information:
 * web site:    https://www.zlg.cn
 *******************************************************************************/
#ifndef __HPM6E00_USBH_H__
#define __HPM6E00_USBH_H__

#ifdef __cplusplus
extern "C" {
#endif  /* __cplusplus*/
#include "common/hpm_common.h"
#include "common/hpm_errno.h"
#include "core/include/hpm6e00_regs_usb.h"
#include <driver/usb/hpm6e00_usb.h>
#include <stdint.h>
#include <stdio.h>

#define USB_USBCMD_REG_OFFSET       (0x00000000)   /* 命令寄存器偏移*/

#define USB_USBCMD_RESET       (1 << 1)              /* 复位主机控制器(非总线) */

#define USB_USBMODE_CTRL_MODE_HOST       (3 << USB_USBMODE_CM_POS)

/**
 * \brief USB 主机控制器初始化
 *
 * \param[in] p_usb_reg 相关的 USB 寄存器
 *
 * \retval 成功返回 0
 */
int usb_host_init(hpm_usb_reg_t *p_usb_reg);
/**
 * \brief USB 主机控制器启动
 *
 * \param[in] p_usb_reg 相关的 USB 寄存器
 *
 * \retval 成功返回 0
 */
int usb_host_start(hpm_usb_reg_t *p_usb_reg);
#ifdef __cplusplus
}
#endif  /* __cplusplus  */
#endif


